home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
86xx
/
8607.d64
/
big change
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
2KB
|
101 lines
10 REM *** ZEICHENSATZAENDERUNG ***
20 REM *** FUER "THE NEWSROOM" ***
30 REM *** GROSSE SCHRIFT ***
50 DIMB(3500)
60 POKE53280,3:POKE53281,3
70 PRINT"[147]"
90 INPUT"[147]ZEICHENSATZ (0-2):";S$
100 F$="LFNT"+S$+",P,R"
110 OPEN 3,8,3,F$
115 PRINT"BITTE GEDULD - IST HALT NUR BASIC"
120 AN=AN+1:GOSUB 1000:B(AN)=A
130 IF ST=0 THEN120
140 CLOSE 3
200 FOR L=4TO132
210 IFB(L)=0THEN 310
220 GOSUB5000:PRINT""
230 V=0:W=0:GOSUB2000
240 V=8:W=1:GOSUB2000
250 V=320:W=16:GOSUB2000
260 V=328:W=17:GOSUB2000
305 PRINT"ZEICHEN #:"L
310 PRINT"BREITE :"B(L)
315 X=0:Y=0:POKE1076,PEEK(1076)OR128
320 GETA$:IFA$=""THEN320
325 IFA$="*"THENINPUT"ZEICHEN #:";L:GOTO210
326 IFA$="@"THENINPUT"NEUE ZEICHEN #:";L:GOSUB1700:GOTO410
330 IF A$="^"THENL=132:GOTO410
340 IF A$=""THENGOSUB1100
350 IF A$="[157]"THENGOSUB1200
360 IF A$=""THENGOSUB1300
370 IF A$="[145]"THENGOSUB1400
380 IFA$="="THENGOSUB1600
390 IFA$=CHR$(13)THENGOSUB1700:GOTO410
395 IFA$=" "THEN 410
400 GOTO 320
410 NEXTL
415 F$="@:NEWFONT"+S$+",P,W"
420 OPEN3,8,3,F$
430 FORL=1TOAN
440 PRINT#3,CHR$(B(L));
450 NEXT
460 CLOSE3
470 END
1000 GET#3,A$
1010 IFA$=""THENA=0:RETURN
1020 A=ASC(A$):RETURN
1100 REM *** CURSOR RECHTS ***
1110 GOSUB 1500
1120 IF X<15THEN X=X+1
1130 GOSUB 1500
1140 RETURN
1200 REM *** CURSOR LINKS ***
1210 GOSUB 1500
1220 IF X>0THEN X=X-1
1230 GOSUB 1500
1240 RETURN
1300 REM *** CURSOR RUNTER ***
1310 GOSUB 1500
1320 IF Y<15THEN Y=Y+1
1330 GOSUB 1500
1340 RETURN
1400 REM *** CURSOR RAUF ***
1410 GOSUB 1500
1420 IF Y>0THEN Y=Y-1
1430 GOSUB 1500
1440 RETURN
1500 REM *** CURSOR SETZEN/LOESCHEN ***
1510 IFPEEK(1076+X+Y*40)>128THENPOKE1076+X+Y*40,PEEK(1076+X+Y*40)AND127:RETURN
1520 POKE1076+X+Y*40,PEEK(1076+X+Y*40)OR128:RETURN
1600 REM *** PUNKT SETZEN/LOESCHEN ***
1610 IF PEEK(1076+X+Y*40)=160THENPOKE1076+X+Y*40,209:RETURN
1620 IF PEEK(1076+X+Y*40)=209THENPOKE1076+X+Y*40,160:RETURN
1700 REM *** NEUES ZEICHEN ***
1710 GOSUB1500:INPUT"BREITE ";B(L)
1720 V=0:W=0:GOSUB3000
1730 V=8:W=1:GOSUB3000
1740 V=320:W=16:GOSUB3000
1750 V=328:W=17:GOSUB3000
1760 RETURN
2000 REM *** TEILZEICHEN SETZEN ***
2010 FORK=0TO7
2020 FORM=0TO7
2030 IF(B(L*32+3+K*2+W)AND2^M)=0THEN2050
2040 POKE1076+K*40+(7-M)+V,81
2050 POKE55348+K*40+(7-M)+V,6
2060 NEXTM,K
2070 RETURN
3000 REM *** TEILZEICHEN HOLEN ***
3010 FORK=0TO7:B(L*32+3+K*2+W)=0
3020 FORM=0TO7
3030 IFPEEK(1076+K*40+(7-M)+V)=81THENB(L*32+3+K*2+W)=B(L*32+3+K*2+W)OR2^M
3040 NEXTM,K
3050 RETURN
5000 REM *** BILDSCHIRMAUFBAU ***
5010 PRINT"[147] "
5020 FORK=1TO16
5030 PRINT" "
5040 NEXT
5050 PRINT" "
5060 RETURN